Linux服务器下Oracle用户被锁定解决方法 | 您所在的位置:网站首页 › oracle 解锁 用户 › Linux服务器下Oracle用户被锁定解决方法 |
相关错误:ORA-28000: the account is locked 1、通过连接数据库,并查看锁定的用户,查看具体的被锁时间: SQL> select username,lock_date from dba_users where username='TEST'; SELECT username, account_status,lock_date, PROFILE FROM dba_users; EXPIRED & LOCKED 口令到期并锁定 LOCKED(TIMED) 密码错误次数超过了系统设置的允许最大次数,用户被锁定 2、找到监听日志: 在Oracle安装服务器找到/oracle/diag/tnslsnr/ora11g_db2V10/listener/trace/listener.log文件,该文件会记录oracle的一些跟踪信息; 3、查看监听日志 在Linux服务器,找到该目录,执行tail -20 listener.log命令,查看该文件的最后20行内容; 或是通过工具连接Linux服务器,在对应目录下下载到本地,通过本地编辑工具查看对应时间的记录: Mon Nov 14 11:32:53 2022 14-11月-2022 11:32:53 * (CONNECT_DATA=(SID=kcop)(CID=(PROGRAM=JDBC Thin Client)(HOST=jdbc)(USER=root))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=12352)) * establish * kcop * 0 4、分析: 造成Oracle的账号被锁定的原因是由于修改数据库密码后。服务器配置的连接数据库的信息没有修改完全,所以造成了该账号登录Oracle经常失败,在oracle11g中,默认在default概要文件中设置了FAILED_LOGIN_ATTEMPTS=10,当输入密码错误次数达到设置值将导致此问题。 确定用户所使用概要文件: select username,profile from dba_users;
5、解锁: 解锁: alter user username(用户名) account unlock; 锁定: alter user username(用户名) account lock; 注: 一般数据库默认是10次尝试失败后锁住用户 5.1、查看FAILED_LOGIN_ATTEMPTS的值 select * from dba_profiles where RESOURCE_NAME = 'FAILED_LOGIN_ATTEMPTS';
5.2、修改次数:50 alter profile default limit FAILED_LOGIN_ATTEMPTS 50; 5.3、修改为无限次(为安全起见,不建议使用) alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited; 5.4、另外,小伙伴经常遇到数据库用户密码过期的情况,要定期去修改密码很麻烦,那么我们可以设置用户密码不过期: 5.4.1、查询指定概要文件的密码有效期设置: SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 5.4.2、修改为无限制: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 5.4.3、若已出现 ora-28002 报错,则修改密码: alter user 用户名 identified by 密码; |
CopyRight 2018-2019 实验室设备网 版权所有 |